فلزیاب ، مطالب علمی و آموزشی ۩۞۩ مدار فلزیاب و دستگاه فلزیاب تضمینی ۩۞۩ درباره وبلاگ به وبلاگ من خوش آمدید این وبلاگ در زمینه های مختلف مطالب علمی و آموزشی به صورت تخصصی و عمومی فعالیت می نماید و همچنین در زمینه فروش مدارات و دستگاه فلزیاب لازم است این نکته را یاد آور شوم که در این وبلاگ مطالب جدید در صفحه اول قرار نمیگیرد و شما میتوانید برای مشاهده جدید ترین مطالب مورد نظرتون در وبلاگ به بخش موضوعات مطالب به قسمت مورد نظر خود مراجعه نمایید درضمن این وبلاگ آماده تبادل لینک با تمامی وبلاگ ها و سلیت ها می باشد آخرین مطالب
شماره گير تلفن جادويي
در این مقاله یک مدار بسیار ساده که از قطعات کمی تشکیل شده را معرفی میکنم. طرح این مدار از یک برنامه تلویزیونی در ذهن من بوجود آمد! و مطمئن هستم که نظر شما دوستان عزیز را جلب خواهد کرد. چون این مدار در عین سادگی کاربردهای خارق العاده ای دارد. شما در این مقاله با موارد زیر آشنا میشوید :
در یکی از برنامه های شبکه 4 سیما به معرفی یک MP3 Player پرداخته شد و در مورد خصوصیات آن گفته شد که بدون نیاز به اتصال به خط تلفن و فقط با استفاده از گوشی میتوان شماره گیری کرد بدین صورت که فقط کافی است که شماره مورد نظر خود را در MP3 Player وارد کنید سپس دهنی گوشی را نزدیک آن کرده تا شماره گرفته شود. این موضوع برای من بسیار جالب بود که چطور چنین چیزی ممکن است؟ اما پس از کمی فکر متوجه ایده بکار رفته شدم. همانطور که میدانید جهت شماره گیری بر روی خطوط تلفن دو روش وجود دارد :
در روش پالس که قدیمی ترین روش است به ازای هر رقم تعداد مشخصی پالس ارسال میشود. برای رقم 0 ، تعداد ده پالس و برای سایر ارقام به اندازه رقم پالس تولید میشود. مثلا برای 5 ، پنج پالس ایجاد میشود. اما اشکال این روش این بود زمان شماره گیری در اعدادی با تعداد ارقام ثابت با هم فرق داشت. مثلا برای گرفتن 111 سه پالس تولید میشد ولی برای 999 بیست و هفت پالس نیاز بود. و این باعث کندی شماره گیری میشد. اما در روش جدیدتر برای هر شماره یک سیگنال صوتی با فرکانس معین تولید میشد که مشکلات سیستم قبلی دیگر در آن وجود نداشت. و در واقع MP3 Player فوق هم برای شماره گیری همین کار را میکرد و سیگنالهای صوتی را به دهنی منتقل میکرد و از طریق دهنی این اصوات به خط تلفن منتقل شده و شماره گرفته میشد. من برای اینکه از این ایده مطمئن بشوم یک آزمایش ساده انجام دادم که شما هم همین الان میتوانید انجام دهید. من گوشی تلفن همراه خودم را کنار دهنی تلفن منزل نگه داشتم و صبر کردم تا بوق آزاد پخش شود، سپس شروع کردم شماره تلفن همراهم را گرفتم 09123812060 البته با همان موبایل خودم! بعد از چند لحظه گوشی همراهم شروع به زنگ خوردن کرد و بر روی آن شماره تلفن منزل بعنوان تماس گیرنده افتاد. مثل اینکه من با تلفن خانه شماره همراهم را گرفته باشم. البته به این نکته توجه داشته باشید برای اینکه بتوانید از گوشی همراه خود برای شماره گیری به روش بالا استفاده کنید حتما باید در تنظیمات گوشی ، صدای صفحه کلید را فعال کرده و بر روی تن یا DTMF تنظیم باشد و تا حد امکان میزان صدا را افزایش داده و سعی کنید در محیط اطراف صدا و نویز مزاحمی نباشد. در مرحله بعدی من با میکروکنترولر ATmega8 مداری ساختم که بازدن یک کلید، تن های لازم را جهت شماره گیری تلفن همراهم تولید میکرد و از طریق بلندگوی کوچکی که بر روی آن نصب بود پخش میکرد و با گذاشتن دهنی هر تلفنی در کنار این مدار شماره من توسط آن تلفن گرفته میشد. و همانطور که میدانید در اکثر تلفن هایی که صفر آنها بسته است و یا شماره گیری در آنها محدود شده یا نیاز به انداختن سکه دارند در واقع شماره گیر تلفن محدود شده و یا قفل شده است. در نتیجه شما اگر از طریق دیگری شماره گیری را انجام دهید عملا از سد تلفن گذشته اید و صد البته که این مدار اینکار را انجام میدهد. سورس بسکام این برنامه در زیر آورده شده است. همانطور که مشاهده میکنید برنامه بسیار ساده نوشته شده و با هر بار روشن شدن میکرو پالسهای تن تولید میشوند. شما میتوانید با تغییر دادن شماره من، شماره مورد نظر خود را وارد کنید.
'*********************************************
'* This Program Writing By : Hossein Lachini * '* The Magic Tone Dialer * '* For to get more details visit : * '* www.HLachini.com * '* Contact to me by : eLachini@Gmail.com * '* Mobile/SMS : +98 912 381 2060 * '********************************************* $regfile = "m8def.dat" $crystal = 8000000 Enable Interrupts Dim Mobile As String * 12 Mobile = "09123812060" Wait 3 Dtmfout Mobile , 50 End 'end program
نقشه مدار فوق نیز بصورت کوچک شده در زیر قابل مشاهده است : این مدار برای صرفه جویی در مصرف باطری کلید بصورت سری با مدار قرار گرفته تا با زدن کلید مدار روشن شده سپس بعد از گذشت 3 ثانیه شروع به ارسال پالس تن میکند. دقت داشته باشید که برای درست عمل کردن این مدار حتما فیوز بیت های میکروکنترولر را جهت استفاده از کریستال خارجی تنظیم کنید. این هم تصویری از مداری که توسط من ساخته شد.
برای دریافت سورس برنامه به همراه فایل شیبه سازی در محیط پروتیوس اینجا کلیک کنید. پسورد تمامی فایل ها http://puls.loxblog.com
اما چند ترفند جالب جهت شماره گیری تلفن :
برچسب:مدار دزدگیر با امکان شماره گیری , دزدگیر پیشرفته , دزدگیر با شماره گیر خودکار, :: :: نويسنده : حامد
مدار دزدگیر با امکان شماره گیری در ذيل بعضی از توضيحات اضافی را در مورد مدار میدهیم
1. سنسور مورد استفاده به شماره D203B يا D204B يااحتمالا با هر سنسورPIR ديگری کار خواهد کرد. بنده سنسورD204B را از جمهوري همان مغازه ايکه انواع واقسام سنسورها و پيزوها رو داره به قيمت هزار تومان و لنز پلاستيکی مخصوص آنرا به قيمت پانصد تومان خريدم .(بدون لنز مخصوص حساسيت آن خيلی کم ميباشد حدود يک متر و با لنز تاپنج متر را به خوبی جواب گرفتم)
2. از مدار پيشنهادی در ديتاشيتD203B استفاده کردم که عملکرد خوبی دارد و سيگنال خروجی سنسور را طی چهار مرحله تقويت می کند در مدار تقويت سنسور مقاومت RS جهت تعيين ولتاژ افست سيگنال خروجی سنسور، مقاومت R3 جهت کاهش مقاومت بين پايه های يک و دو ای سی جهت تقويت بيشتر، همچنين جهت تقويت بيشتر ميتوان به جای R11 از پتانسيومتر يا مقاومت بين 1 الی 3 مگا اهم استفاده نمود.
3. به علت حساسيت مدار و سنسور که مبتنی بر امواج گرمايي مادون قرمز متصاعد از محيط ميباشد، سنسور بايستی از نزديکی منابع نويز و گرما مانند گرمای منبع تغذيه بدور باشد.
4. تنها زمانی سنسور ميتواند انسان را تشخيص دهد که انسان از مقابل آن عبور کرده يا حرکت داشته باشد.
5. زمانيکه تغذيه مدار وصل شود ال ای دی مدار بمدت حدودا 3 ثانيه روشن ميشود (و خروجی مدار هم يک ميشود) پس از خاموش شدن ال ای دی هم تا حدود 15 ثانيه بعد مدار فعال نمی شود در نتيجه زمانيکه تغذيه مدار وصل ميشود بايد حدودا 20 ثانيه صبر کرد از انجائيکه چند ثانيه اول خروجي مدار يک ميشود بنابراين مجبور شديم ابتدای شروع بکار ميکرو هم چند ثانيه تاخير ايجاد کنيم.
6. از آنجا که خروجی ميکرو را نمی توان مستقيما به خط تلفن وصل کرد(عدم تطبيق امپدانس و سيگنال زنگ که ولتاژ بالايي دارد و همچنين نمی خواهيم دائما خط تلفن اشغال شود) به ناچار از چوک تلفن و رله استفاده شده.
7. از آنجائيکه فيوز بيتCKOPT راهم فعال ميکنيم پس درنتيجه خازنهای داخلی ميکرو که دو عدد خازن36PF ميباشند فعال ميشوند و ديگر نيازی برای خازن بيرونی جهت اتصال به ميکرو نيست و کريستال به تنهايي کافی است.
جهت دانلود نقشه و برنامه این مدار اینجا کلیک کنید جهت دانلود فایل دیتاشیت سنسور اینجا کلیک کنید
برچسب: ساعت دیجیتال میکروکنترولر سون سگمنت نمایشگر clock AVR ATmega8 7segment Seven Segment , :: :: نويسنده : حامد
ساعت دیجیتال توسط ATmega8
دراین پروژه قصد داریم به معرفی یک ساعت دیجیتال با میکرو AVRATMEGA8 بپردازیم.درابتدا با پیکره بندی کردن ساعت داخلی این میکرو درمحیط BASCOM آشنا می شویم.توجه داشته باشید برای راه اندازی این ساعت به یک کریستال با مقدار32/768 نیاز پیدا میکنید. در ادامه پایه و اساس نمایش اعداد بر روی سون سگمنت ( 7SEGMENT ) را توسط این برنامه بررسی میکنیم. همانطور که میدانید ساعت داخلی میکروهای AVR از طریق کد زیر در محیط بسکام پیکره بندی می شود: Config Clock = Soft , Gosub = Sectic
Time$ = "_hour:_min:_sec""
متغییرهای _hour و _min و _sec متغییرهایی هستند که خود کامپایلر بسکام با پیکره بندی ساعت برای مشخص نمودن ساعت و دقیقه و ثانیه تعریف میکند.ما در این برنامه قصد داریم تنها مقادیر _hour و _min را بروی سون سگمنت نمایش دهیم.اما شما با درک برنامه ودر صورت علاقه می توانید مقدار _sec را نیز بر روی سون سگمنت نمایش دهید. توجه داشته باشید تا وقتی که کد Enable Interrupts را در محیط برنامه نویسی تایپ نکنید ساعت به جریان نمی افتد. Gosub = Sectic در واقع زیربرنامه ای است که میکرو هر یک ثانیه به سراغ آن رفته و دستورات موجود در آن را اجرا میکند. در این برنامه ما از 4 سون سگمنت آند مشترک تکی بهره برده ایم.هر کدام از این سون سگمنت ها دارای 10 پایه هستند.دو پایه از این 10 پایه مشترکا آند این سون سگمنت ها ، یک پایه مربوط به DAT سون سگمنت و7 پایه ی دیگر مربوط به کاتد ها هستند.برای ساختن اعداد باید کاتد ها را خاموش یا روشن میکنند.ما به طور قرار دادی به صورت مشخص شده در عکس زیر کاتد ها را نام گذاری میکنیم تا کار برنامه نویسی آسان تر گردد.
توجه کنید این نام گذاری کاملا قراردادی است و شما می توانید به صورتی که می خواهید نام گذاری کنید اما مبنای این برنامه نام گذاری اینگونه ی این 7 کاتد است. ما باید هر 7 کاتد همه ی سون سگمنت ها را به هم وصل کرده سپس آنها را به 7 پورت از پورت های میکرو متصل نماییم.و باید هر کدام از آند های سون سگمنت ها را به یک پورت میکرو متصل کنیم.پس ما برای راه اندازی سون سگمنت ها تنها به 11 پورت میکرو نیاز داریم. همان طور که گفتیم بعد از پیکره بندی ساعت داخلی میکرو با دو متغییر _hour و _min ( در این برنامه ) سرو کار داریم. می دانید این عدد ها می تواند یک رقمی یا دو رقمی باشند.اگر این عدد ها تنها مقادیری یک رقمی داشتند کار ما ساده بود اما چون مقادیری دو رقمی نیز پیدا می کنند برای نمایش آنها روی سون سگمنت به مشکل برخورد میکنیم. ما برای حل این مشکل در این برنامه هر یک از متغییر های _hour و _min را به دو متغییر دیگر تقسیم می کنیم تا نمایش اعداد روی سون سگمنت ها راحت تر شود. در این برنامه متغییر _hour به دو متغییر Yekan_h و Dahgan_h و متغییر _min به دو متغییر Yekan_m و Dahgan_m از طریق کد های زیر: Tmp_h = _hour Mod 100
Dahgan_h = Tmp_h / 10 Yekan_h = Tmp_h Mod 10 Tmp_m = _min Mod 100 Dahgan_m = Tmp_m / 10 Yekan_m = Tmp_m Mod 10 تبدیل می شوند.در کدهای بالا Tmp یک متغییر واسط است. حال که برای هر سون سگمنت یک متغییر داریم نوبت به نمایش عدد ها روی سون سگمنت ها است.ما ابتدا عدد ها را با صفر و یک کردن 7 پورت مشخص شده می سازیم و مشخص می کنیم. مثلا در این برنامه برای ساختن عدد یک با ید این 7 پورت بصورت زیر باشند: Portc.1 = 1 : Portd.2 = 0 : Portd.1 = 1 : Portd.0 = 1 :
Portc.2 = 1 : Portc.3 = 1 : Portc.4 = 0 و حال کار اصلی میکرو: Config Timer0 = Timer , Prescale = 8
Enable Timer0 On Timer0 7seg Start Timer0 تایمرصفر میکرو را پیکره بندی می کنیم.اما متغییر 7seg در واقع پرچم سرریزی تایمر صفر است.با هر بار پرچم سرریزی تایمر صفر میکرو به سراغ زیر برنامه 7seg رفته و دستور موجود در آن ( که در این برنامه انجام همان 8 عمل ذکر شده در بالا است ) را اجرا میکند. حالا چشم ما قابل به تشخیص این روشن وخاموش شدن ها نیست.جالب است اگر یک دوربین جلوی این ساعت بگیرید می توانید این روشن و خاموش شدن ها را ببینید. شما این ساعت را می توانید روی هر سون سگمنتی اجرا کنید که ما در زیر نحوه استفاده این برنامه را برای انواع مختلف آن توضیح داده ایم: 1- برای سون سگمنت های کوچک: در این جا نیازی به ترانزیستور ندارید ومی توانید پورت ها را مستقیم به میکرو متصل کنید.فقط توجه کنید سون سگمنت ها جریانی بیشتر از mA20 نکشد، چون برای میکرو مشکل پیش می آید. 2- برای سون سگمنت های 5 ولت به بالا: در این صورت نیاز به ترانزیستور پیدا می کنید. به طوری که برای 7 بخش ( کاتد ها ) از C945 وبرای 4 بخش( آندها ) از ترانزیستور C945 به علاوه A1015 استفاده کنید.نحوه اتصال درشکل های زیر آمده است.
جهت دانلود فایل پروتیوس اینجا کلیک کنید پسورد تمامی فایل ها http://puls.loxblog.com
منبع www.hlachini.com
برنامه ساعت فوق بطور کامل در زیر آورده شده است. '-----------------------------------------------
' the program of digital clock on 7seg-ment ' wrote by:fahim faryabi ' 1387/11/16 '----------------------------------------------- $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 8 Config Portd = Output Config Portc = Output Config Portb = Output Config Clock = Soft , Gosub = Sectic Time$ = "01:01:00" Config Debounce = 25 Enable Interrupts Enable Timer0 On Timer0 7seg Start Timer0 Dim Sel_7seg As Byte Dim Dahgan_m As Byte Dim Yekan_m As Byte Dim Flag As Byte Dim Tmp_m As Byte Dim Dahgan_h As Byte Dim Yekan_h As Byte Dim Tmp_h As Byte Ddrb.5 = 0 : Portb.5 = 1 Ddrd.3 = 0 : Portd.3 = 1 Declare Sub Sa_zyad Declare Sub Da_zyad Do Debounce Pinb.5 , 0 , Da_zyad , Sub Debounce Pind.3 , 0 , Sa_zyad , Sub Tmp_h = _hour Mod 100 Dahgan_h = Tmp_h / 10 Yekan_h = Tmp_h Mod 10 Tmp_m = _min Mod 100 Dahgan_m = Tmp_m / 10 Yekan_m = Tmp_m Mod 10 If _hour = 13 Then _hour = 01 End If If _hour < 1 Then _hour = 12 End If If _min = 60 Then _min = 0 End If If _min < 0 Then _min = 59 End If Loop End 'end program 7seg: Incr Sel_7seg Select Case Sel_7seg Case 1: Portb.3 = 1 : Portb.0 = 0 : Portb.1 = 0 : Portd.6 = 0 Flag = Yekan_m Case 2: Portb.3 = 0 : Portb.0 = 1 : Portb.1 = 0 : Portd.6 = 0 Flag = Dahgan_m Case 3: Portb.3 = 0 : Portb.0 = 0 : Portb.1 = 1 : Portd.6 = 0 Flag = Yekan_h Case 4: Portb.3 = 0 : Portb.0 = 0 : Portb.1 = 0 : Portd.6 = 1 Flag = Dahgan_h Sel_7seg = 0 End Select Select Case Flag Case 0: Portc.1 = 1 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 0 : Portc.2 = 0 : Portc.3 = 0 : Portc.4 = 0 Case 1: Portc.1 = 1 : Portd.2 = 0 : Portd.1 = 1 : Portd.0 = 1 : Portc.2 = 1 : Portc.3 = 1 : Portc.4 = 0 Case 2 : Portc.1 = 0 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 1 : Portc.2 = 0 : Portc.3 = 0 : Portc.4 = 1 Case 3: Portc.1 = 0 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 1 : Portc.2 = 0 : Portc.3 = 1 : Portc.4 = 0 Case 4: Portc.1 = 0 : Portd.2 = 0 : Portd.1 = 1 : Portd.0 = 0 : Portc.2 = 1 : Portc.3 = 1 : Portc.4 = 0 Case 5: Portc.1 = 0 : Portd.2 = 1 : Portd.1 = 0 : Portd.0 = 0 : Portc.2 = 0 : Portc.3 = 1 : Portc.4 = 0 Case 6: Portc.1 = 0 : Portd.2 = 1 : Portd.1 = 0 : Portd.0 = 0 : Portc.2 = 0 : Portc.3 = 0 : Portc.4 = 0 Case 7: Portc.1 = 1 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 1 : Portc.2 = 1 : Portc.3 = 1 : Portc.4 = 0 Case 8: Portc.1 = 0 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 0 : Portc.2 = 0 : Portc.3 = 0 : Portc.4 = 0 Case 9: Portc.1 = 0 : Portd.2 = 0 : Portd.1 = 0 : Portd.0 = 0 : Portc.2 = 0 : Portc.3 = 1 : Portc.4 = 0 End Select Return Sub Sa_zyad Incr _hour End Sub Sub Da_zyad Incr _min _sec = 0 End Sub Sectic: Toggle Portd.7 Toggle Portb.2 Return
اما از دیگرپورت های میکرو برای روشن وخاموش کردن DAT سون سگمنت ها به عنوان ثانیه شمار (شما می توانید از DAT های خود سون سگمنت ها نیز استفاده کنید ) واتصال کلید برای تنظیم ساعت و دقیقه بصورت زیر استفاده می کنیم: 1- برای ثانیه شمار در زیر برنامه Sectic دستور Toggle Portx.y ( در این برنامه Toggle Portd.7 و Toggle Portb.2 ) را قرار می دهیم.بدین صورت هر ثانیه DAT ها روشن و خاموش می شوند. 2-برای اتصال کلید ها از دستور زیر بهره می بریم: Config Debounce = X
که X مقادیر معینی می پذیرد.در واقع Debounce یک لرزه گیر برای کلید است بطوری که اگر به مقدار X دست خود را روی کلید نگه ندارید زیر برنامه معیین اجرا نمی شود.استفاده از این دستور نیاز به کد های دیگر نیز دارد که به طور کامل در برنامه آمده اند. شما می توانید این ساعت را بصورت کوچک (برای ماشین)،رو میزی،دیواری درست کنید واز داشتن یک ساعت دیجیتال خوب لذت ببرید. برچسب:دانلود پروژه های , AVR مدار های الکترونیکی , دانلود پروژه بیسیک , دانلود پروژه به زبان بسکام , دانلود پروژه ساعت دیجیتال با , AVR دانلود پروه های میکرو , دانلود پروژه پایان ترم AVR , :: :: نويسنده : حامد
پروژه ساعت دیجیتال با میکروکنترلر AVR به زبان بسکام
امروز پروژه ای جالب به زبان بسکام با میکروکنترلر AVR معرفی می کنیم که با ساعت های طراحی شده دیگر کمی متفاوت است .
پسورد تمامی فایل ها http://puls.loxblog.com
جذابیت این ساعت به این است که در کنار شمارشگر دیجیتال مانند ساعت های عقربه دار بجای هر ثانیه یک LED گذاشته است ، ربع های ساعت قرمز رنگ و هر 5 ثانیه LED زرد و بقیه ثانیه ها سبز رنگ .
می توانید از این پروژه ساده برای اتاق خود استفاده کنید و با هزینه کم صاحب ساعتی دست ساز و زیبا شوید .
دانلود پروژه ماشین حساب مهندسی با AVR به زبان C
پسورد تمامی فایل ها http://puls.loxblog.com
این پروژه دارای 2 کیبرد می باشد که اولی مربوط به 4 عمل اصلی و دیگری دارای توابع مهندسی و مثلثاتی است و به همراه یک LCD که محاسبات را به زیبایی نمایش می دهد . این ماشین حساب یکی از کامل ترین پروژه های AVR می باشد و به زبان C نوشته شده است . به همراه این پروژه ما فایل سورس زبان سی و فایل کد ویژن به همراه فایل پروتئوس آن را برای شما قرار داده ایم . میکروکنترلر به کار رفته ATmega16 می باشد که در بازار فراوان وجود دارد . ماشین حساب مهندسی معرفی شده می تواند توابع زیر را انجام دهد : Sin ,Cos , Tan ,Cot , Arc Sin , Arc Cos, Log , Sqrt, Exp
موضوعات
پيوندها
تبادل لینک هوشمند تبادل لینک هوشمند ۩۞۩ فلزیاب و اطلاعات علمی ۩۞۩ و آدرس 1kavosh.com لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد. تبادل لینک هوشمند |
||||
|